AWS ParallelCluster 既存クラスターに Slurm Accounting 設定を後から追加できるのか検証してみた

AWS ParallelCluster 既存クラスターに Slurm Accounting 設定を後から追加できるのか検証してみた

Clock Icon2024.09.21

Slurm Accounting は、Slurm ジョブスケジューラーの実行履歴を保存する機能です。本記事では、既存の AWS ParallelCluster のクラスター環境に Slurm Accounting 設定を後付けで追加できるかを検証しました。

SlurmAccounting-update

検証結果

既存の AWS ParallelCluster のクラスター環境に対して、Slurm Accounting 設定を後付けで追加することは可能です。

検証環境

項目
aws-parallelcluster 3.10.1
os ubuntu-22.04

公式ドキュメントの確認

AWS ParallelCluster の公式ドキュメントによると、Slurm Accounting の設定項目は、コンピュートフリートを停止することで更新可能なアップデートポリシーとなっています。

Scheduling_section_-_AWS_ParallelCluster

しかし、Slurm の設定ファイルの書き換えが発生するため、実際に後付けで設定を追加できるか確認しました。

やってみた

  1. 既存クラスターのコンフィグに Slurm Accounting 設定を追加
  2. pcluster update-cluster コマンドを実行(更新処理の実行)
  3. 設定の反映と動作を確認

前提知識

本検証を理解するための前提知識として、以下の 2 点をご参照ください。

  1. Slurm Accounting の基本的な設定方法は以下のブログ参照してください。

https://dev.classmethod.jp/articles/aws-parallelcluster-slurm-accounting-setup-guide/

  1. 設定更新方法は以下のブログ参照してください。

https://dev.classmethod.jp/articles/how-to-update-parallelcluster/

既存クラスターのコンフィグに Slurm Accounting 設定を追加

既存クラスターのコンフィグにDatabase:配下の設定を追加しました。

Slurm Accounting 設定を追加
Scheduling:
  Scheduler: slurm
  SlurmSettings:
    ScaledownIdletime: 5
    # ------ Slurm Accounting ------
    Database:
      Uri: slumdb2.cja2kmww8voi.ap-northeast-1.rds.amazonaws.com:3306
      UserName: admin
      PasswordSecretArn: arn:aws:secretsmanager:ap-northeast-1:123456789012:secret:slurmdb2-0VTEb7

**重要なのは既存のヘッドノードから Slurm Accounting 用のデータベースへ接続できることです。**DB 側のセキュリティグループでヘッドノードからのアクセスが許可されているか確認しておきましょう。

pcluster update-cluster コマンドを実行

pcluster update-clusterコマンドを実行しました。チェンジセットの内容に設定変更箇所が表示されていました。ここまでは問題ありません。

抜粋
  "changeSet": [
    {
      "parameter": "Scheduling.SlurmSettings.Database",
      "requestedValue": {
        "Uri": "slumdb2.cja2kmww8voi.ap-northeast-1.rds.amazonaws.com:3306",
        "UserName": "admin",
        "PasswordSecretArn": "arn:aws:secretsmanager:ap-northeast-1:123456789012:secret:slurmdb2-0VTEb7"
      },
      "currentValue": "-"
    }
  ]

CloudFormation の該当スタックの状態がUPDATE_COMPLETEになりました。

CloudFormation_-_スタック-9

設定の反映と動作を確認

更新処理完了後、ヘッドノードにログインしていろいろ確認してみます。

slurmdbd.confにはクラスターのコンフィグファイルで指定した項目が追加されていました。

/opt/slurm/etc/slurm_parallelcluster_slurmdbd.conf
DbdHost=ip-10-0-1-128
StorageHost=slumdb2.cja2kmww8voi.ap-northeast-1.rds.amazonaws.com
StoragePort=3306
StorageLoc=rescure_spot_cluster
StorageUser=admin
StoragePass=slurm-pass

sacctコマンドを実行します。正常に設定されていれば下記のような出力が表示されます。

$ sacct
JobID           JobName  Partition    Account  AllocCPUS      State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------

まとめ

  1. 既存の AWS ParallelCluster 環境に Slurm Accounting 設定を後付けで追加できます
  2. 設定の反映後、Slurm の設定ファイル(slurmdbd.conf)が正しく更新され、sacct コマンドが正常に動作することを確認しました

おわりに

本検証にあたりハマったところを以下の記事にまとめています。

https://dev.classmethod.jp/articles/aws-parallelcluster-slurm-accounting-database-troubleshooting/

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.